#include<bits/stdc++.h>
#define ll long long
using namespace std;

int n;
int a[200005],b[200005];
int prv[1000005],lst[200005];
ll dp[200005][2];

const int N=1000005;
ll seg[N<<2];
void upd(int l,ll c,int s,int t,int p){
    if(s==t){
        seg[p]=max(seg[p],c);
        return;
    }
    int m=(s+t)/2;
    if(l<=m) upd(l,c,s,m,p*2);
    else upd(l,c,m+1,t,p*2+1);
    seg[p]=max(seg[p*2],seg[p*2+1]);
}
ll query(int l,int r,int s,int t,int p){
    if(l>r) return 0;
    if(l<=s&&t<=r){
        return seg[p];
    }
    int m=(s+t)/2;
    ll mx=0;
    if(l<=m) mx=query(l,r,s,m,p*2);
    if(r>m) mx=max(mx,query(l,r,m+1,t,p*2+1));
    return mx;
}

void tc(){
    cin>>n;
    for(int i=0;i<=1000000;i++) prv[i]=0;
    for(int i=0;i<=200000;i++) lst[i]=0,dp[i][0]=dp[i][1]=0;
    memset(seg,0,sizeof(seg));
    for(int i=1;i<=n;i++) cin>>a[i];
    b[0]=0;
    for(int i=2;i<=n;i++){
        if(a[i]==a[i-1]) b[i]=a[i];
        else b[i]=0;
    }
    for(int i=1;i<=n;i++) b[i]+=b[i-1];
    for(int i=1;i<=n;i++){
        lst[i]=prv[a[i]];
        prv[a[i]]=i;
    }
    dp[1][0]=dp[1][1]=0;
    for(int i=2;i<=n;i++){
        dp[i][0]=max(dp[i-1][0],dp[i-1][1])+(a[i]==a[i-1]?a[i]:0);
        dp[i][1]=max(dp[i-1][0],dp[i-1][1]);
        // if(lst[i]>0&&lst[i]<i-1){
        //     dp[i][1]=dp[lst[i]+1][1]+a[i]+(b[i-1]-b[lst[i]+1]);
        // }
        // for(int j=2;j<i;j++){
        //     dp[i][1]=max(dp[i][1],dp[j][1]+(a[i]==a[j-1]?a[i]:0)+(b[i-1]-b[j]));
        // }

        ll mx=query(1,a[i]-1,1,1000000,1);
        mx=max(mx,query(a[i]+1,1000000,1,1000000,1));
        if(lst[i]>0&&lst[i]<i-1){
            mx=max(mx,query(a[i],a[i],1,1000000,1)+a[i]);
        }
        dp[i][1]=mx+b[i-1];
        upd(a[i-1],dp[i][1]-b[i],1,1000000,1);
    }
    // for(int i=1;i<=n;i++) cout<<dp[i][0]<<' ';cout<<endl;
    // for(int i=1;i<=n;i++) cout<<dp[i][1]<<' ';cout<<endl;
    cout<<max(dp[n][0],dp[n][1])<<endl;
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);

    int T;
    cin>>T;
    while(T--){
        tc();
    }
    return 0;
}